1. Field of Invention
The present invention relates generally to the field of computer graphics rendering, and more particularly, to ways of and means for improving the performance and power and resources management of parallel graphics rendering processes supported on multiple 3D graphics processing unit (GPU) platforms associated with diverse types of computing machinery.
2. Brief Description of the State of Knowledge in the Art
There is a great demand for high performance computer graphics systems in the fields of product design, simulation, virtual-reality, video-gaming, scientific research, and personal computing (PC). A major goal of the computer graphics industry is to realize real-time photo-realistic 3D imagery on PC-based workstations, desktops, laptops, and mobile computing devices, while efficiently using electrical power and graphics processing resources for constantly changing application requirements in any given application environment.
Currently, a number of different computer graphics processing architectures have been developed for PC-based computing systems.
For example, as shown in FIG. 1A, a typical PC based graphic architecture has an external graphics card (105) comprising a graphics processing unit (GPU) and video memory. As shown, the graphic card is connected to the display (106) on one side, and the CPU (101) through bus (e.g. PCI-Express) (107) and Memory Bridge (103, termed also “chipset”, e.g. 975 by Intel), on the other side. As shown in FIG. 1C, the host CPU program/memory space stores the graphics applications, the standard graphics library, and the vendor's GPU drivers.
As shown in FIGS. 1B and 1C, a prior art PC-based computing system employs a conventional Fusion-type CPU/GPU hybrid architecture, wherein a single GPU implemented on the same die as the CPU is used to support a graphics pipeline that drives an external display device. As shown, the motherboard supports the processor die, memory, a bridge with a display interface for connecting to a display device (106), and a PCI-express bus. As shown, the processor die supports a CPU (1241), a GPU (1242), L2 cache, buffers, an Interconnect (e.g. crossbar switch), a hyper transport mechanism and a memory controller.
As shown in FIG. 1D, the general software architecture of prior art graphic system (200) comprises: the graphics application (201), standard graphics library (202), and vendor's GPU driver (203). This graphic software environment resides in the “program space” of main memory (102) on the host computer system. As shown, the graphic application (201) runs in the program space, building up the 3D scene, typically as a data base of polygons, each polygon being represented as a set of vertices. The vertices and others components of these polygons are transferred to the graphic card(s) for rendering, and displayed as a 2D image, on the display screen.
As shown in FIG. 1E, a typical prior art PC-based computing system employs a conventional graphics architecture employing a North memory bridge with an integrated graphics device (IGD) (103). The IGD supports a single graphics pipeline process, and is operably coupled to a South bridge, via a PCI-express bus, for supporting the input/output ports of the system. As shown, the IGD includes a video engine, a 2D engine, a 3D engine, and a display engine.
Modern high-end GPUs have more transistors, offer at least an order of magnitude more of computational performance than CPUs, and draw more power. GPU is the primary power consumer in computing system, particularly in multiple-GPU parallel systems where the power consumption rises manifold. Therefore it is highly desired, particularly for high-end graphics, to manage power consumption by turning off the power of external GPUs to a low-power state when inactive. Power management reduces overall energy consumption, prolongs battery life for portable graphics systems, reduces cooling requirements, reduces noise, and reduces operating costs for energy and cooling. Lower power consumption also means lower heat dissipation, which increases system stability, and less energy use, which saves money and reduces the impact on the environment.
Thus, there is a great need in the art for a new and improved way of and means for practicing 3D graphics rendering processes in modern multiple-GPU based computer graphics systems, while avoiding the shortcomings and drawbacks of such prior art methodologies and apparatus.